{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "346b64ac1260a7e8",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 2.Python与数据质量检查\n",
    "\n",
    "## 2.1 数据质量检查\n",
    "**数据质量检查是数据分析和数据科学中的重要环节。它确保数据的准确性、完整性和一致性，从而提高分析结果的可靠性**。 以下是 一些常见的数据质量检查方法：\n",
    "\n",
    "- 数据类型检查：检查数据类型是否正确，如整数、浮点数、字符串等。\n",
    "- 缺失值检查：检查数据中是否存在缺失值，如空值、空字符串等。\n",
    "- 重复值检查：检查数据中是否存在重复值，如同一记录出现多次。\n",
    "- 范围检查：检查数据是否在合理范围内，如年龄、价格等。\n",
    "- 格式检查：检查数据是否符合格式要求，如日期格式、电话号码格式等。\n",
    "- 唯一标识符检查：检查数据是否具有唯一标识符，如主键、外键等。\n",
    "- 一致性检查：检查数据是否与其他数据一致，如同一用户的不同记录是否具有相同的属性。\n",
    "- 逻辑检查：检查数据是否符合逻辑关系，如两个字段是否应该具有相同的值。"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 实务问题一：报送EXCEL数据的质量检查\n",
    "金融行业的实务工作中，向监管相关部门的报送数据往往是EXCEL格式，在数据报送前，通常需要对数据进行质量检查，确保报送数据的准确性、合理性，确保数据质量达到监管要求。\n",
    "最典型的如1104报送，固定报送报表通常在一段时间内遵循统一的报送模板，但报表本身通常不符合常见的数据结构，因此一般情况下无法直接读取数据进行数据检查。\n",
    "\n",
    "**问题描述：**\n",
    "1. 需要检查的数据文件为EXCEL格式，位于指定目录下，但分布在多个子目录中\n",
    "2. 子目录为对应的文件日期。\n",
    "3. 需要检查的数据文件名称皆为\"Gxxx.xls\"的样式，其中\"xxx\"代表数字。\n",
    "4. 需要检查的文件遵从统一的报送模板，即标题和行名称是固定的，每月填写对应的数字。\n",
    "5. 希望检查数据文件中的每一个数据的合理性，如缺失值、范围、格式、唯一标识符、一致性、逻辑等。\n",
    "\n",
    "**Python实现目标：**\n",
    "1. 遍历指定目录下的所有子目录，查找符合\"Gxxx.xls\"格式的文件。\n",
    "2. 不指定数字格式、标题行、列行，读取每个原始文件，保证原始文件内容区域全部读入，保证excel内容的完整性。\n",
    "3. 考虑到报送模板统一，指定数据区域起始行、列，读取数据区域内容，并进行数据类型检查。同时由于模板报送的标题行涉及多个有效信息，因此对行进行信息提取。\n",
    "4. 将所有数据按报送日期进行合并，形成一个完整的数据集。\n",
    "5. 根据数据集的情况，输出两大类信息：\n",
    "   - 数据单元格对应的业务指标名称、单元格地址、指标序号\n",
    "   - 对数据进行缺失值、范围、环比值进行分析，并输出分析结果。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "d3be74acf3693b42"
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 目标1：遍历文件夹，并获取指定格式（包括文件名称的格式）\n",
    "遍历文件夹是指在指定目录下查找所有符合条件的文件或子目录。Python提供了多种方法来实现这一功能，常用的方法有使用`pathlib`包和`os`包，这两个包是Python标准库的一部分，无需额外安装，可以直接使用。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "b1b17232dfd8f195"
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [
    "home_dir = r'E:\\SVN\\04.定期对外报送_监管报表（广东局）'"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:57.989963Z",
     "start_time": "2025-06-27T09:23:57.980870Z"
    }
   },
   "id": "7d44f9f01750b30e",
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "source": [
    "**方法一：使用Pathlib包**\n",
    "使用pathlib包中的rglob()方法来遍历指定目录下的所有子目录，rglob()方法可以查找指定模式的文件\n",
    "> 语法：pathlib.Path(dir).rglob(pattern)\n",
    "> 参数：\n",
    "> \\- dir：要搜索的目录\n",
    "> \\- pattern：要搜索的文件名模式，支持通配符，如\"*.xls\"、\"G*.xls\"等，其中*代表任意字符\n",
    "> 返回值：一个生成器，返回符合条件的文件路径\n",
    "\n",
    "生成器概念见[前文](./1.Python的基础概念.md)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "504ce0a05e355686"
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "cdf9a298-b8f9-4402-9b4e-b797a6dc195d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.022275Z",
     "start_time": "2025-06-27T09:23:57.990966Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202104\\5月1日报送\\G0300-202104.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202105\\6月1号报送\\G0300-202105.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202106\\月报\\1号报送\\G0300-202106.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202107\\月报\\1号报送\\G0300-202107.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202108\\月报\\1号报送\\G0300-202108.xls\n"
     ]
    }
   ],
   "source": [
    "# 1.遍历指定目录下的所有子目录，查找符合\"Gxxx.xls\"格式的文件\n",
    "from pathlib import Path\n",
    "\n",
    "# 遍历指定目录下的所有子目录\n",
    "list_gxx_file = Path(home_dir).rglob('G03*.xls')\n",
    "\n",
    "for i, filepath in enumerate(list_gxx_file):  # 显示前5个文件路径\n",
    "    if i < 5:\n",
    "        print(filepath)"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "**方法二：使用os包**\n",
    "使用os包中的walk()方法来遍历指定目录下的所有子目录\n",
    "os.walk()方法可以递归地遍历指定目录下的所有子目录和文件\n",
    "语法：os.walk(top, topdown=True, onerror=None, followlinks=False)\n",
    "参数：\n",
    "- top：要搜索的目录\n",
    "- topdown：是否自顶向下遍历，默认为True\n",
    "- onerror：错误处理函数，默认为None\n",
    "- followlinks：是否跟随符号链接，默认为False\n",
    "- 返回值：一个生成器，返回一个三元组(root, dirs, files)，其中root是当前目录路径，dirs是当前目录下的子目录列表，files是当前目录下的文件列表\n",
    "生成器概念见[前文](./1.Python的基础概念.md)"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "4cf16ac7cc16f3d4"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202104\\5月1日报送\\G0300-202104.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202105\\6月1号报送\\G0300-202105.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202106\\月报\\1号报送\\G0300-202106.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202107\\月报\\1号报送\\G0300-202107.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202108\\月报\\1号报送\\G0300-202108.xls\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "# 遍历指定目录下的所有子目录\n",
    "list_g03_file = []\n",
    "for root, dirs, files in os.walk(home_dir):\n",
    "    for file in files:\n",
    "        if file.startswith('G03') and file.endswith('.xls'):\n",
    "            list_g03_file.append(os.path.join(root, file))\n",
    "\n",
    "for i in list_g03_file[:5]:  # 显示前5个文件路径\n",
    "    print(i)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.069679Z",
     "start_time": "2025-06-27T09:23:58.024279Z"
    }
   },
   "id": "c4bf1d5e6b0dcbd7",
   "execution_count": 3
  },
  {
   "cell_type": "markdown",
   "source": [
    "本文建议用Pathlib包来遍历指定目录下的所有子目录，Pathlib包提供了更简洁、更易读的代码，并且支持更多的文件操作方法。\n",
    "同时考虑到其中目录和文件名称的其他可能性，因此使用函数对代码进行封装，提高代码的可复用性。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "4f53c1e551af8847"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202104\\5月1日报送\\G0300-202104.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202105\\6月1号报送\\G0300-202105.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202106\\月报\\1号报送\\G0300-202106.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202107\\月报\\1号报送\\G0300-202107.xls\n",
      "E:\\SVN\\04.定期对外报送_监管报表（广东局）\\202108\\月报\\1号报送\\G0300-202108.xls\n"
     ]
    }
   ],
   "source": [
    "from pathlib import Path\n",
    "\n",
    "\n",
    "def get_file_list(dir_path: str, pattern: str) -> list[Path]:\n",
    "    \"\"\"\n",
    "    遍历指定目录下的所有子目录，查找符合指定模式的文件。\n",
    "    \n",
    "    参数:\n",
    "    dir_path (str): 要搜索的目录路径。\n",
    "    pattern (str): 要搜索的文件名模式，支持通配符，如\"*.xls\"、\"G*.xls\"等。\n",
    "    \n",
    "    返回:\n",
    "    list: 符合条件的文件路径列表。\n",
    "    \"\"\"\n",
    "    return list(Path(dir_path).rglob(pattern))\n",
    "\n",
    "\n",
    "list_g03_file = get_file_list(home_dir, 'G03*.xls')\n",
    "for i in list_g03_file[:5]:  # 显示前5个文件路径\n",
    "    print(i)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.107609Z",
     "start_time": "2025-06-27T09:23:58.070678Z"
    }
   },
   "id": "d087ccd23aa2951c",
   "execution_count": 4
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 目标2：读取每个原始文件，保证原始文件内容区域全部读入，保证excel内容的完整性。\n",
    "读取每个EXCEL原始文件，有多种方法，常用的方法有使用`pandas`包和`openpyxl`包，这两个包是Python中处理Excel文件的常用库，需要额外安装，安装方法如下：\n",
    "```bash\n",
    "pip install pandas\n",
    "pip install openpyxl\n",
    "```\n",
    "本教程使用常见的`pandas`包来读取Excel文件，pandas包提供了read_excel()方法来读取Excel文件。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "6264e87104a994e1"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "data": {
      "text/plain": "                 0              1    2             3       4    5     6    7   \\\n0  G03各项资产减值损失准备情况表            NaN  NaN           NaN     NaN  NaN   NaN  NaN   \n1       报送口径：境内汇总数据            NaN  NaN  报表日期：2025年4月     NaN  NaN   NaN  NaN   \n2                序号  项           目  NaN             A       B    C     D    E   \n3               NaN            NaN  NaN          年初余额  当年新提取    冲销  卖出资产  转回    \n4               NaN            NaN  NaN           NaN     NaN  NaN   NaN  NaN   \n\n     8        9   10   11   12   13   14  \n0   NaN      NaN NaN  NaN  NaN  NaN  NaN  \n1   NaN  货币单位：万元 NaN  NaN  NaN  NaN  NaN  \n2     F        G NaN  NaN  NaN  NaN  NaN  \n3  其他变化     期末余额 NaN  NaN  NaN  NaN  NaN  \n4   NaN      NaN NaN  NaN  NaN  NaN  NaN  ",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>0</th>\n      <th>1</th>\n      <th>2</th>\n      <th>3</th>\n      <th>4</th>\n      <th>5</th>\n      <th>6</th>\n      <th>7</th>\n      <th>8</th>\n      <th>9</th>\n      <th>10</th>\n      <th>11</th>\n      <th>12</th>\n      <th>13</th>\n      <th>14</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>G03各项资产减值损失准备情况表</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>报送口径：境内汇总数据</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>报表日期：2025年4月</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>货币单位：万元</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>序号</td>\n      <td>项           目</td>\n      <td>NaN</td>\n      <td>A</td>\n      <td>B</td>\n      <td>C</td>\n      <td>D</td>\n      <td>E</td>\n      <td>F</td>\n      <td>G</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>年初余额</td>\n      <td>当年新提取</td>\n      <td>冲销</td>\n      <td>卖出资产</td>\n      <td>转回</td>\n      <td>其他变化</td>\n      <td>期末余额</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n      <td>NaN</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# 以读取单个文件为例展示如何读取Excel文件\n",
    "filepath: Path = list_g03_file[-1]  # 读取最后一个文件\n",
    "# 指定header=None，表示不将第一行作为列名读取，是因为该数据不是以常规的数据表格存储（即第一行为变量名称），为避免读取错误，将完整的原始数据读入后再进行二次处理加工\n",
    "data: pd.DataFrame = pd.read_excel(filepath, header=None)\n",
    "# 显示读取的DataFrame内容\n",
    "data.head()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.649319Z",
     "start_time": "2025-06-27T09:23:58.109613Z"
    }
   },
   "id": "21f08d93f2b4c1e9",
   "execution_count": 5
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 目标3：指定数据区域起始行、列，读取数据区域内容，并进行数据类型检查。\n",
    "由于报送模板统一，指定数据区域起始行、列，读取数据区域内容，并进行数据标准化。\n",
    "以监管\"G03各项资产减值损失准备情况表\"为例，假设数据区域起始行是2，起始列是1（即第一行和第一列为标题行和列名），则可以使用pandas的read_excel()方法的skiprows和usecols参数来指定数据区域。\n",
    "\n",
    "表样如下：\n",
    "<img src=\"media/G03（231版）.png\" alt=\"G03各项资产减值损失准备情况表\" width=\"900\">\n",
    "\n",
    "目标拆解如下：\n",
    "1. 分解第二列、第三列项目名称为监管序号和指标名称，例如“2.2持有至到期投资减值准备”拆解为[2.2]和[持有至到期投资减值准备]。\n",
    "2. 读取第二列、第三列为项目名称，其中第三列有内容的情况下，仅读取第三列，第三列为空的情况下，读取第二列。\n",
    "3. 读取第三行为数据的监管序号字母部分，合并项目名称的数字部分，保存为监管序号，例如[A2.2]。\n",
    "4. 读取第四行、第五行为数据的指标，合并项目名称的汉字部分，保存为指标名称，例如[贷款损失准备_年初余额]。\n",
    "5. 读取数据，并进行数据类型检查，确保数据为数值型数据。\n",
    "6. 读取数据的单元格地址，例如[D8]。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "1b65b756a7dc4ad2"
  },
  {
   "cell_type": "markdown",
   "source": [
    "针对子目标1，分解第二列、第三列项目名称为监管序号和指标名称，例如“2.2持有至到期投资减值准备”拆解为[2.2]和[持有至到期投资减值准备]。本次仅针对数字+文字类型的文本进行处理，文本中提取数字有多种方法，例如正则表达式，考虑到实用性与理解性，本次不做复杂延伸与扩展，仅使用简单的字符串切片和查找方法来分解文本。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "8bcee35ce2535402"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "示例1：原始文本为：2.2持有至到期投资减值准备，监管序号：2.2, 指标名称：持有至到期投资减值准备\n",
      "示例2：原始文本为：2.c其他减值准备，监管序号：2.c, 指标名称：其他减值准备\n"
     ]
    }
   ],
   "source": [
    "# 子目标1：分解第二列、第三列项目名称为监管序号和指标名称，例如“2.2持有至到期投资减值准备”拆解为[2.2]和[持有至到期投资减值准备]。\n",
    "# 由于序号可能是数字+小数的形式，也有可能是数字+字母的形式，因此在拆分时需要考虑这两种情况。\n",
    "# 本次程序使用简单的字符串切片和查找方法来分解文本，作为Python初学者的练习，在更广泛的场景中，可以使用更高效的正则表达式来分解文本。\n",
    "all_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'  # 监管序号可能包含的字符集\n",
    "\n",
    "\n",
    "def split_text(text: str) -> tuple[str, str]:\n",
    "    # 本段代码仅针对 数字+文字 类型的文本进行分割，不做其他类型文本的处理\n",
    "    if not isinstance(text, str):  # 判断输入是否为字符串类型，避免非字符串类型导致的错误\n",
    "        return None, None  # 如果不是字符串类型，则返回空字符串\n",
    "\n",
    "    text: str = text.strip()  # 剔除首尾空格\n",
    "    if len(text) == 0:\n",
    "        return None, None  # 如果文本为空，则返回空字符串\n",
    "\n",
    "    # 使用简单的字符串切片和查找方法来分解文本\n",
    "    for i, char in enumerate(text):  # enumerate()函数可以同时获得索引和值，在循环时根据场景选择使用\n",
    "        if char not in all_chars and char != '.':  # 判断是否为数字或小数点或字母，如果不是数字或小数的时候，执行以下操作\n",
    "            num_in_text: str = text[:i]\n",
    "            remain_text: str = text[i:].strip()  # 剩余文本部分，剔除首尾空格（若有）\n",
    "            break\n",
    "        else:\n",
    "            num_in_text: str = text  # 如果没有找到非数字或小数点的字符，则认为整个文本都是数字部分\n",
    "            remain_text: str = ''  # 剩余文本部分为空\n",
    "\n",
    "    if num_in_text.endswith('.'):  # 如果数字部分以小数点结尾，则认为是整数\n",
    "        num_in_text = num_in_text[:-1]  # 去掉小数点\n",
    "    return num_in_text, remain_text  # 返回监管序号和指标名称\n",
    "\n",
    "\n",
    "test_text: str = '2.2持有至到期投资减值准备'  # 示例文本\n",
    "num_in_text, remain_text = split_text(test_text)\n",
    "print(f'示例1：原始文本为：{test_text}，监管序号：{num_in_text}, 指标名称：{remain_text if remain_text else \"空\"}')\n",
    "\n",
    "test_text: str = '2.c其他减值准备'  # 示例文本\n",
    "num_in_text, remain_text = split_text(test_text)\n",
    "print(f'示例2：原始文本为：{test_text}，监管序号：{num_in_text}, 指标名称：{remain_text if remain_text else \"空\"}')"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.660625Z",
     "start_time": "2025-06-27T09:23:58.650324Z"
    }
   },
   "id": "ed8069d97f2865c6",
   "execution_count": 6
  },
  {
   "cell_type": "markdown",
   "source": [
    "针对子目标2，读取第二列、第三列为项目名称，其中第三列有内容的情况下，仅读取第三列，第三列为空的情况下，读取第二列。该逻辑实现较为简单，但考虑到现实文件中的原始数据存在较多复杂的可能性，因此在进行处理时需要考虑是为为空字符串、类型是否不为字符串等情况，避免出现错误。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "2c33732a547e15b9"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "case1, 第三列为空的情况下，text1=1.贷款损失准备, text2=nan，最终文本为： 1.贷款损失准备\n",
      "case2, 第三列不为空的情况下，text1=由实施旧会计准则的银行填报, text2=  2.1可供出售金融资产减值准备，最终文本为： 2.1可供出售金融资产减值准备\n"
     ]
    }
   ],
   "source": [
    "# 子目标2：读取第二列、第三列为项目名称，其中第三列有内容的情况下，仅读取第三列，第三列为空的情况下，读取第二列。\n",
    "\n",
    "def merge_names(text1: str, text2: str) -> str:\n",
    "    # 使用简单的if-else判断对两组文本进行判断合并\n",
    "    if pd.notna(text2):  # 如果后者文本不为空，则返回后者文本\n",
    "        return text2.strip()  # 剔除首尾空格\n",
    "    else:  # 如果后者文本为空，则返回前者文本\n",
    "        return text1.strip()  # 剔除首尾空格\n",
    "\n",
    "\n",
    "# case1：第三列为空\n",
    "print(f'case1, 第三列为空的情况下，text1={data.iloc[5, 1]}, text2={data.iloc[5, 2]}，最终文本为：',\n",
    "      merge_names(text1=data.iloc[5, 1], text2=data.iloc[5, 2]))\n",
    "print(f'case2, 第三列不为空的情况下，text1={data.iloc[7, 1]}, text2={data.iloc[7, 2]}，最终文本为：',\n",
    "      merge_names(text1=data.iloc[7, 1], text2=data.iloc[7, 2]))"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.668936Z",
     "start_time": "2025-06-27T09:23:58.661629Z"
    }
   },
   "id": "1f3b8f7a3bca7c0",
   "execution_count": 7
  },
  {
   "cell_type": "markdown",
   "source": [
    "以上编写的`merge_names`函数仅用于处理两个文本的合并，可以完成当前的目标，但如果需要处理多个文本的合并，代码的可复用性和可扩展性就会受到限制。因此，考虑到后续可能需要处理多个文本进行同样的逻辑处理，可以对代码进行扩展，提高代码的普适性。\n",
    "考虑一般情形，若存在多个且数量未知的text列表需要同样的逻辑进行处理，Python中可以借助*args的函数参数来实现，即使用函数`merge_names(*args)`进行处理，其中*args是一个可变参数，可以接收任意数量的字符串参数，例如使用上述函数`merge_names('a', 'b', 'c', 'd', 'e')`，则其中`args = ['a', 'b', 'c', 'd', 'e']`。\n",
    "利用该技巧对merge_names对代码进行扩展封装，提高代码的可复用性。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "288ae85cb3548636"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "case1, 第三列为空的情况下，text1=1.贷款损失准备, text2=nan，最终文本为： 1.贷款损失准备\n",
      "case2, 第三列不为空的情况下，text1=由实施旧会计准则的银行填报, text2=  2.1可供出售金融资产减值准备，最终文本为： 2.1可供出售金融资产减值准备\n",
      "case3, 测试多组输入，text1=由实施旧会计准则的银行填报, text2=  2.1可供出售金融资产减值准备, text3=nan, text4=5982.717204543999，最终文本为： 2.1可供出售金融资产减值准备\n"
     ]
    }
   ],
   "source": [
    "# 子目标2（扩展）：考虑一般情形，若存在多个text进行同样的逻辑进行处理，可以借助*args的函数参数来实现，使用函数对代码进行封装，提高代码的可复用性。\n",
    "def merge_names(*args: str) -> str:\n",
    "    # *args 是一个可变参数，可以接收任意数量的字符串参数，例如：merge_names('a', 'b', 'c')，merge_names('d', 'e')\n",
    "    # 若merge_names('a', 'b', 'c')为例，args = ['a', 'b', 'c']\n",
    "    # 若merge_names('a', 'b', 'c', 'd', 'e')，args = ['a', 'b', 'c', 'd', 'e']\n",
    "\n",
    "    for name in args[::-1]:  # 逆序遍历参数列表，若原始列表args=['a', 'b', 'c']，则逆序遍历args[::-1]结果为['c', 'b', 'a']\n",
    "        if name:  # 判断name是否非空\n",
    "            if isinstance(name, str):  # 判断name是否为字符串类型，在扩展代码可用性的时候，需要考虑可能遇到的情况\n",
    "                name_ = name.strip()  # 剔除首尾空格\n",
    "                if len(name_) > 0:  # 判断name是否为空字符串，避免空字符导致的错误\n",
    "                    return name_\n",
    "\n",
    "\n",
    "print(f'case1, 第三列为空的情况下，text1={data.iloc[5, 1]}, text2={data.iloc[5, 2]}，最终文本为：',\n",
    "      merge_names(data.iloc[5, 1], data.iloc[5, 2]))\n",
    "print(f'case2, 第三列不为空的情况下，text1={data.iloc[7, 1]}, text2={data.iloc[7, 2]}，最终文本为：',\n",
    "      merge_names(data.iloc[7, 1], data.iloc[7, 2]))\n",
    "print(\n",
    "    f'case3, 测试多组输入，text1={data.iloc[7, 1]}, text2={data.iloc[7, 2]}, text3={data.iloc[7, 3]}, text4={data.iloc[6, 3]}，最终文本为：',\n",
    "    merge_names(data.iloc[7, 1], data.iloc[7, 2], data.iloc[7, 3], data.iloc[6, 3]))"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.676852Z",
     "start_time": "2025-06-27T09:23:58.669939Z"
    }
   },
   "id": "c4e3c826b8b18272",
   "execution_count": 8
  },
  {
   "cell_type": "markdown",
   "source": [
    "针对子目标3、子目标4、子目标5、子目标6，需要结合读取到的数据区域进行处理，即针对任何有效数据部分，首先定位其对应的第三行字母表头，第四第五文字表头，并读取对应的第二列、第三列项目名称，进行文字与数字拆解（子目标1、子目标2），进而进行后续处理。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "2351bb30aad55506"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "列数 1 对应的列名是: A\n",
      "列数 26 对应的列名是: Z\n",
      "列数 27 对应的列名是: AA\n",
      "列数 52 对应的列名是: AZ\n",
      "列数 53 对应的列名是: BA\n"
     ]
    }
   ],
   "source": [
    "# 辅助函数：将列数转换为Excel风格的列名（如1→A, 26→Z, 27→AA），供后续使用\n",
    "def number_to_column_name(column_number):\n",
    "    \"\"\"将列数转换为Excel风格的列名（如1→A, 26→Z, 27→AA）\"\"\"\n",
    "    if column_number <= 0:\n",
    "        raise ValueError(\"列数必须为正整数\")\n",
    "\n",
    "    result = ''\n",
    "    while column_number > 0:\n",
    "        # 计算当前位的字母（注意Excel列名是1-based）\n",
    "        remainder = (column_number - 1) % 26\n",
    "        result = chr(65 + remainder) + result  # 65是'A'的ASCII码\n",
    "        column_number = (column_number - 1) // 26\n",
    "\n",
    "    return result\n",
    "\n",
    "\n",
    "test_cases = [1, 26, 27, 52, 53]\n",
    "for num in test_cases:\n",
    "    print(f\"列数 {num} 对应的列名是: {number_to_column_name(num)}\")"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.684428Z",
     "start_time": "2025-06-27T09:23:58.678855Z"
    }
   },
   "id": "986b59f7e3fecbf7",
   "execution_count": 9
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n"
     ]
    },
    {
     "data": {
      "text/plain": "{'cell_name': '贷款损失准备_年初余额',\n 'cell_address': '$D$6',\n 'cell_value': 493907.5947257253,\n 'cell_num': '[A1]'}"
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "\n",
    "# 子目标3：读取第三行为数据的监管序号字母部分，合并项目名称的数字部分，保存为监管序号，例如[A2.2]。\n",
    "\n",
    "def read_cell_info(data: pd.DataFrame,\n",
    "                   row: int,\n",
    "                   col: int,\n",
    "                   header_row: int = 3,\n",
    "                   header_col: int = 2) -> dict | None:\n",
    "    \"\"\"\n",
    "    读取指定单元格的内容，并进行数据类型检查，若为空、0、非数字，则跳过。\n",
    "    \n",
    "    参数:\n",
    "    - data: pandas.DataFrame对象，包含要处理的数据。\n",
    "    - row: 要处理的单元格行号，EXCEL中行号\n",
    "    - col: 要处理的单元格列号，EXCEL中列号\n",
    "    - header_row: 数据表头所在行号，EXCEL中表头行号，默认值为3，即第三行\n",
    "    - header_col: 数据表头所在列号，EXCEL中表头列号，不包含序号，默认值为2，即第二列\n",
    "    返回：\n",
    "    - dict: 包含单元格名称、地址、值和监管序号的字典，若单元格不符合要求，则返回None。 \n",
    "    \"\"\"\n",
    "\n",
    "    # 读取指定单元格的内容，并进行数据类型检查，若为空、0、非数字，则跳过\n",
    "    cell_value = data.iloc[row, col]  # 读取指定单元格的内容\n",
    "\n",
    "    # 跳过空值单元格\n",
    "    if pd.isna(data.iloc[row, col]):\n",
    "        return\n",
    "    # 过滤非数字内容（使用正则表达式匹配整数/小数）\n",
    "    if not re.match(r'^-?\\d+(?:\\.\\d+)?$', str(cell_value)):  # 匹配整数或小数，包括负数，正则表达式较为复杂，暂不做说明\n",
    "        return\n",
    "    # 跳过值为0的单元格\n",
    "    if cell_value == 0 or cell_value == '0':\n",
    "        return\n",
    "    # 如果数据表头为空，则有可能是额外的校验临时数据，不属于报送数据，跳过。在大多数模板中，表头为第三行，因此默认first_row=2\n",
    "    if data.iloc[header_row - 1, col] == '' or not isinstance(data.iloc[header_row - 1, col], str):\n",
    "        return\n",
    "    # 如果数据表列为填表人信息，则终止\n",
    "    if isinstance(data.iloc[row, 0], str) and '填表人' in data.iloc[row, 0]:\n",
    "        return {'is_end': True}  # 返回一个字典，表示已到达表格末尾\n",
    "    print(data.iloc[row, 0])\n",
    "    # 正常情况下，获取单元格内容、监管序号、指标名称\n",
    "    # 1.根据行列号返回单元格地址，例如'$D$8'，这里注意python的行列号是从0开始的，而Excel的行列号是从1开始的，因此需要加1，同时需要将列号转换为字母形式，使用自定义的number_to_column_name()函数\n",
    "    cell_address = f'${number_to_column_name(col + 1)}${row + 1}'\n",
    "    # 2.获取单元数据内容，并转换为float类型\n",
    "    cell_value = float(data.iloc[row, col])\n",
    "    # 3.读取所有表头、表列，按照监管模板，其指标名称分占4、5行，监管序号字母部分占第3行，指标项目名称占第2、3列。\n",
    "    # 通过前面的split_text函数，首先拆解项目名称中的监管序号数字部分与指标名称。\n",
    "    # 进而通过merge_names函数，合并第二列、第三列的项目名称，形成完整的指标名称。\n",
    "\n",
    "    # 读取第二列、第三列的项目名称，合并为完整的指标名称\n",
    "    name1: str = merge_names(data.iloc[row, header_col - 1], data.iloc[row, header_col])\n",
    "\n",
    "    # 拆解项目名称中的监管序号数字部分与指标名称\n",
    "    name_num, name_text = split_text(name1)\n",
    "\n",
    "    # 合并第4行、第5行的项目名称，形成完整的指标名称\n",
    "    name2: str = merge_names(data.iloc[header_row, col], data.iloc[header_row + 1, col])\n",
    "\n",
    "    # 将以上信息进行组合，形成监管序号和指标名称\n",
    "    cell_num = '[' + data.iloc[header_row - 1, col] + name_num + ']'  # 合并单元格内容和监管序号\n",
    "    cell_name = name_text + '_' + name2\n",
    "    return {'cell_name': cell_name,\n",
    "            'cell_address': cell_address,\n",
    "            'cell_value': cell_value,\n",
    "            'cell_num': cell_num}\n",
    "\n",
    "\n",
    "# 以读取第5行、第3列为例，读取单元格信息\n",
    "read_cell_info(data, 5, 3)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.699649Z",
     "start_time": "2025-06-27T09:23:58.686432Z"
    }
   },
   "id": "9e6fd6a786ceca",
   "execution_count": 10
  },
  {
   "cell_type": "markdown",
   "source": [
    "以上仅是对单个单元格的处理，接下来需要遍历整个DataFrame，调用read_cell_info()函数进行处理，并将结果保存到新的DataFrame中。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "58ed3693bc72836"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "2 10\n",
      "2 11\n",
      "2 12\n",
      "2 13\n",
      "2 14\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "3 10\n",
      "3 11\n",
      "3 12\n",
      "3 13\n",
      "3 14\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "4 10\n",
      "4 11\n",
      "4 12\n",
      "4 13\n",
      "4 14\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "5 10\n",
      "5 11\n",
      "5 12\n",
      "5 13\n",
      "5 14\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "6 10\n",
      "6 11\n",
      "6 12\n",
      "6 13\n",
      "6 14\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "7 10\n",
      "7 11\n",
      "7 12\n",
      "7 13\n",
      "7 14\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "8 10\n",
      "8 11\n",
      "8 12\n",
      "8 13\n",
      "8 14\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "9 10\n",
      "9 11\n",
      "9 12\n",
      "9 13\n",
      "9 14\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "10 10\n",
      "10 11\n",
      "10 12\n",
      "10 13\n",
      "10 14\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "11 10\n",
      "11 11\n",
      "11 12\n",
      "11 13\n",
      "11 14\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "12 10\n",
      "12 11\n",
      "12 12\n",
      "12 13\n",
      "12 14\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "13 10\n",
      "13 11\n",
      "13 12\n",
      "13 13\n",
      "13 14\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "14 10\n",
      "14 11\n",
      "14 12\n",
      "14 13\n",
      "14 14\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "15 10\n",
      "15 11\n",
      "15 12\n",
      "15 13\n",
      "15 14\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "16 10\n",
      "16 11\n",
      "16 12\n",
      "16 13\n",
      "16 14\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "17 10\n",
      "17 11\n",
      "17 12\n",
      "17 13\n",
      "17 14\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "18 10\n",
      "18 11\n",
      "18 12\n",
      "18 13\n",
      "18 14\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "19 10\n",
      "19 11\n",
      "19 12\n",
      "19 13\n",
      "19 14\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "20 10\n",
      "20 11\n",
      "20 12\n",
      "20 13\n",
      "20 14\n"
     ]
    },
    {
     "data": {
      "text/plain": "[{'cell_name': '贷款损失准备_年初余额',\n  'cell_address': '$D$6',\n  'cell_value': 493907.5947257253,\n  'cell_num': '[A1]'},\n {'cell_name': '贷款损失准备_当年新提取',\n  'cell_address': '$E$6',\n  'cell_value': 155977.1848044283,\n  'cell_num': '[B1]'},\n {'cell_name': '贷款损失准备_冲销',\n  'cell_address': '$F$6',\n  'cell_value': 199607.8847244,\n  'cell_num': '[C1]'},\n {'cell_name': '贷款损失准备_转回',\n  'cell_address': '$H$6',\n  'cell_value': 42047.5519794,\n  'cell_num': '[E1]'},\n {'cell_name': '贷款损失准备_期末余额',\n  'cell_address': '$J$6',\n  'cell_value': 492324.4467851536,\n  'cell_num': '[G1]'},\n {'cell_name': '其他资产减值准备_年初余额',\n  'cell_address': '$D$7',\n  'cell_value': 5982.717204543999,\n  'cell_num': '[A2]'},\n {'cell_name': '其他资产减值准备_当年新提取',\n  'cell_address': '$E$7',\n  'cell_value': 915.0365293024214,\n  'cell_num': '[B2]'},\n {'cell_name': '其他资产减值准备_期末余额',\n  'cell_address': '$J$7',\n  'cell_value': 6897.753733846421,\n  'cell_num': '[G2]'},\n {'cell_name': '以摊余成本计量金融资产的减值准备_年初余额',\n  'cell_address': '$D$12',\n  'cell_value': 143.17197,\n  'cell_num': '[A2.a]'},\n {'cell_name': '以摊余成本计量金融资产的减值准备_当年新提取',\n  'cell_address': '$E$12',\n  'cell_value': 192.49096,\n  'cell_num': '[B2.a]'},\n {'cell_name': '以摊余成本计量金融资产的减值准备_期末余额',\n  'cell_address': '$J$12',\n  'cell_value': 335.66292999999996,\n  'cell_num': '[G2.a]'},\n {'cell_name': '其他减值准备_年初余额',\n  'cell_address': '$D$14',\n  'cell_value': 5839.545234543999,\n  'cell_num': '[A2.c]'},\n {'cell_name': '其他减值准备_当年新提取',\n  'cell_address': '$E$14',\n  'cell_value': 722.5455693024214,\n  'cell_num': '[B2.c]'},\n {'cell_name': '其他减值准备_期末余额',\n  'cell_address': '$J$14',\n  'cell_value': 6562.09080384642,\n  'cell_num': '[G2.c]'},\n {'cell_name': '各项资产减值损失准备合计_年初余额',\n  'cell_address': '$D$15',\n  'cell_value': 499890.3119302693,\n  'cell_num': '[A3]'},\n {'cell_name': '各项资产减值损失准备合计_当年新提取',\n  'cell_address': '$E$15',\n  'cell_value': 156892.22133373073,\n  'cell_num': '[B3]'},\n {'cell_name': '各项资产减值损失准备合计_冲销',\n  'cell_address': '$F$15',\n  'cell_value': 199607.8847244,\n  'cell_num': '[C3]'},\n {'cell_name': '各项资产减值损失准备合计_转回',\n  'cell_address': '$H$15',\n  'cell_value': 42047.5519794,\n  'cell_num': '[E3]'},\n {'cell_name': '各项资产减值损失准备合计_期末余额',\n  'cell_address': '$J$15',\n  'cell_value': 499222.20051899995,\n  'cell_num': '[G3]'},\n {'cell_name': '是否实施新会计准则（选择对应项目填1，剩余两项填0）_年初余额',\n  'cell_address': '$D$17',\n  'cell_value': 1.0,\n  'cell_num': '[A4]'}]"
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def read_excel_data(data: pd.DataFrame, first_row: int = 2, first_col: int = 1) -> list[dict]:\n",
    "    \"\"\"\n",
    "    读取Excel数据，并返回一个包含所有单元格信息的DataFrame。\n",
    "    \"\"\"\n",
    "    list_info: list[dict] = []  # 用于存储所有单元格信息的列表\n",
    "    for i in range(first_row, data.shape[0]):  # 遍历所有行\n",
    "        for j in range(first_col, data.shape[1]):  # 遍历所有列\n",
    "            print(i, j)\n",
    "            cell_info = read_cell_info(data, i, j)  # 读取单元格信息\n",
    "            if cell_info:  # 如果单元格信息不为空，则将其添加到列表中\n",
    "                if cell_info.get('is_end'):  # 如果单元格信息中包含is_end键值，则表示已到达表格末尾，跳出循环\n",
    "                    print('已到达表格末尾')\n",
    "                    return list_info\n",
    "                list_info.append(cell_info)  # 添加到列表中\n",
    "    return list_info\n",
    "\n",
    "\n",
    "read_excel_data(data)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:23:58.729765Z",
     "start_time": "2025-06-27T09:23:58.701653Z"
    }
   },
   "id": "bfb4d42bdcc9938e",
   "execution_count": 11
  },
  {
   "cell_type": "markdown",
   "source": [
    "#### 目标4：将所有数据按报送日期进行合并，形成一个完整的数据集。\n",
    "\n",
    "将所有数据按报送日期进行合并，形成一个完整的数据集。由于每个文件的报送日期不同，因此需要在读取数据时，将文件路径作为一个新的列添加到DataFrame中，以便后续合并。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "c9ee76e40cd7c1e3"
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "reading file:  202104\\5月1日报送\\G0300-202104.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202105\\6月1号报送\\G0300-202105.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202106\\月报\\1号报送\\G0300-202106.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202107\\月报\\1号报送\\G0300-202107.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202108\\月报\\1号报送\\G0300-202108.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202109\\月报\\1号报送\\G0300-202109.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202110\\月报\\1号报送\\G0300-202110.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "2 10\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "3 10\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "4 10\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "5 10\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "6 10\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "7 10\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "8 10\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "9 10\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "10 10\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "11 10\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "12 10\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "13 10\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "14 10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "15 10\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "16 10\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "17 10\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "18 10\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "19 10\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "20 10\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "21 10\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "22 10\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "23 10\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "24 10\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "25 10\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "26 10\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "27 10\n",
      "reading file:  202110\\月报\\1号报送\\G0300-202110（原口径）.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202111\\月报\\1号报送\\G0300-202111（原口径）.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202112\\月报\\1号报送\\G0300-191-境内汇总数据-月-人民币（最终版）.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "13\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "16\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202201\\月报\\1号报送\\G0300-20220131.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202202\\月报\\1号报送\\G0300-20220228.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202203\\月报\\G0300-202203(统计调整版）.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "1\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "2\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "15\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "27 1\n",
      "27 2\n",
      "27 3\n",
      "27 4\n",
      "27 5\n",
      "27 6\n",
      "27 7\n",
      "27 8\n",
      "27 9\n",
      "reading file:  202203\\月报\\G0300-202203（财务最终报送版）.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202204\\1号\\G0300-202204.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202205\\G0300-202205.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202206\\G0300-202206.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202207\\G0300-202207.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "11 4\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "13 4\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "13\n",
      "17 4\n",
      "13\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "15\n",
      "19 4\n",
      "15\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "15\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "16\n",
      "20 4\n",
      "16\n",
      "20 5\n",
      "16\n",
      "20 6\n",
      "20 7\n",
      "16\n",
      "20 8\n",
      "20 9\n",
      "16\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "21 7\n",
      "21 8\n",
      "21 9\n",
      "22 1\n",
      "22 2\n",
      "22 3\n",
      "17\n",
      "22 4\n",
      "22 5\n",
      "22 6\n",
      "22 7\n",
      "22 8\n",
      "22 9\n",
      "23 1\n",
      "23 2\n",
      "23 3\n",
      "23 4\n",
      "23 5\n",
      "23 6\n",
      "23 7\n",
      "23 8\n",
      "23 9\n",
      "24 1\n",
      "24 2\n",
      "24 3\n",
      "24 4\n",
      "24 5\n",
      "24 6\n",
      "24 7\n",
      "24 8\n",
      "24 9\n",
      "25 1\n",
      "25 2\n",
      "25 3\n",
      "25 4\n",
      "25 5\n",
      "25 6\n",
      "25 7\n",
      "25 8\n",
      "25 9\n",
      "26 1\n",
      "26 2\n",
      "26 3\n",
      "26 4\n",
      "26 5\n",
      "26 6\n",
      "26 7\n",
      "26 8\n",
      "26 9\n",
      "reading file:  202303\\月报最终版\\G03_各项资产减值损失准备情况表_230331.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202304\\G0300_202304_科技最终版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202304\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202305\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202306\\月报\\G03_各项资产减值损失准备情况表_202306.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202307\\G03_202307.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202308\\G03_各项资产减值损失准备情况表_202308.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202309\\月报\\G03_各项资产减值损失准备情况表_2023版(3).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202310\\G03_各项资产减值损失准备情况表_2023版(4).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202311\\G03_各项资产减值损失准备情况表_2023版(4).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202312\\月报\\G03_各项资产减值损失准备情况表_202312.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202312\\月报\\G03_各项资产减值损失准备情况表_2023版(4).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202401\\G03_各项资产减值损失准备情况表_2023版(4).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202402\\G03_各项资产减值损失准备情况表_202402(1).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202403\\月报\\G03_各项资产减值损失准备情况表_2023版(7).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202404\\G03_各项资产减值损失准备情况表_202404.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202404\\剩余月报\\G03_各项资产减值损失准备情况表.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202405\\G03_各项资产减值损失准备情况表_2023版--ok.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202406\\月报\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202407\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "14 5\n",
      "14 6\n",
      "14 7\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202408\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202409\\月报\\G03_各项资产减值损失准备情况表_2023版V1.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202410\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "11\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "已到达表格末尾\n",
      "reading file:  202411\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202412\\月报\\G03_各项资产减值损失准备情况表_2023版(1).xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "1\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "10\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "reading file:  202501\\G03_各项资产减值损失准备情况表_2023版.xls\n",
      "2 1\n",
      "2 2\n",
      "2 3\n",
      "2 4\n",
      "2 5\n",
      "2 6\n",
      "2 7\n",
      "2 8\n",
      "2 9\n",
      "3 1\n",
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 1\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 1\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 1\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 1\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 1\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 1\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 1\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 1\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 1\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 1\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 1\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 1\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 1\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 1\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 1\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 1\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "21 1\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "nan\n"
     ]
    },
    {
     "ename": "TypeError",
     "evalue": "can only concatenate str (not \"NoneType\") to str",
     "output_type": "error",
     "traceback": [
      "\u001B[31m---------------------------------------------------------------------------\u001B[39m",
      "\u001B[31mTypeError\u001B[39m                                 Traceback (most recent call last)",
      "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[12]\u001B[39m\u001B[32m, line 8\u001B[39m\n\u001B[32m      6\u001B[39m     file_date = file.relative_to(home_dir).parts[\u001B[32m0\u001B[39m]\n\u001B[32m      7\u001B[39m     data: pd.DataFrame = pd.read_excel(file, header=\u001B[38;5;28;01mNone\u001B[39;00m)\n\u001B[32m----> \u001B[39m\u001B[32m8\u001B[39m     data_info: \u001B[38;5;28mlist\u001B[39m[\u001B[38;5;28mdict\u001B[39m] = \u001B[43mread_excel_data\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdata\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m      9\u001B[39m     data_info_all.extend(data_info)  \u001B[38;5;66;03m# 将每个文件的数据添加到总列表中\u001B[39;00m\n\u001B[32m     11\u001B[39m \u001B[38;5;28mprint\u001B[39m(data_info_all)\n",
      "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[11]\u001B[39m\u001B[32m, line 9\u001B[39m, in \u001B[36mread_excel_data\u001B[39m\u001B[34m(data, first_row, first_col)\u001B[39m\n\u001B[32m      7\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m j \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28mrange\u001B[39m(first_col, data.shape[\u001B[32m1\u001B[39m]):  \u001B[38;5;66;03m# 遍历所有列\u001B[39;00m\n\u001B[32m      8\u001B[39m     \u001B[38;5;28mprint\u001B[39m(i, j)\n\u001B[32m----> \u001B[39m\u001B[32m9\u001B[39m     cell_info = \u001B[43mread_cell_info\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mi\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mj\u001B[49m\u001B[43m)\u001B[49m  \u001B[38;5;66;03m# 读取单元格信息\u001B[39;00m\n\u001B[32m     10\u001B[39m     \u001B[38;5;28;01mif\u001B[39;00m cell_info:  \u001B[38;5;66;03m# 如果单元格信息不为空，则将其添加到列表中\u001B[39;00m\n\u001B[32m     11\u001B[39m         \u001B[38;5;28;01mif\u001B[39;00m cell_info.get(\u001B[33m'\u001B[39m\u001B[33mis_end\u001B[39m\u001B[33m'\u001B[39m):  \u001B[38;5;66;03m# 如果单元格信息中包含is_end键值，则表示已到达表格末尾，跳出循环\u001B[39;00m\n",
      "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[10]\u001B[39m\u001B[32m, line 62\u001B[39m, in \u001B[36mread_cell_info\u001B[39m\u001B[34m(data, row, col, header_row, header_col)\u001B[39m\n\u001B[32m     59\u001B[39m name2: \u001B[38;5;28mstr\u001B[39m = merge_names(data.iloc[header_row, col], data.iloc[header_row + \u001B[32m1\u001B[39m, col])\n\u001B[32m     61\u001B[39m \u001B[38;5;66;03m# 将以上信息进行组合，形成监管序号和指标名称\u001B[39;00m\n\u001B[32m---> \u001B[39m\u001B[32m62\u001B[39m cell_num = \u001B[33;43m'\u001B[39;49m\u001B[33;43m[\u001B[39;49m\u001B[33;43m'\u001B[39;49m\u001B[43m \u001B[49m\u001B[43m+\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m.\u001B[49m\u001B[43miloc\u001B[49m\u001B[43m[\u001B[49m\u001B[43mheader_row\u001B[49m\u001B[43m \u001B[49m\u001B[43m-\u001B[49m\u001B[43m \u001B[49m\u001B[32;43m1\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mcol\u001B[49m\u001B[43m]\u001B[49m\u001B[43m \u001B[49m\u001B[43m+\u001B[49m\u001B[43m \u001B[49m\u001B[43mname_num\u001B[49m + \u001B[33m'\u001B[39m\u001B[33m]\u001B[39m\u001B[33m'\u001B[39m  \u001B[38;5;66;03m# 合并单元格内容和监管序号\u001B[39;00m\n\u001B[32m     63\u001B[39m cell_name = name_text + \u001B[33m'\u001B[39m\u001B[33m_\u001B[39m\u001B[33m'\u001B[39m + name2\n\u001B[32m     64\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m {\u001B[33m'\u001B[39m\u001B[33mcell_name\u001B[39m\u001B[33m'\u001B[39m: cell_name,\n\u001B[32m     65\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_address\u001B[39m\u001B[33m'\u001B[39m: cell_address,\n\u001B[32m     66\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_value\u001B[39m\u001B[33m'\u001B[39m: cell_value,\n\u001B[32m     67\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_num\u001B[39m\u001B[33m'\u001B[39m: cell_num}\n",
      "\u001B[31mTypeError\u001B[39m: can only concatenate str (not \"NoneType\") to str"
     ]
    }
   ],
   "source": [
    "# 结合前面的目标3，读取所有文件的数据，并将文件路径作为一个新的列添加到DataFrame中\n",
    "\n",
    "data_info_all: list[dict] = []\n",
    "for file in list_g03_file:\n",
    "    print('reading file: ', file.relative_to(home_dir))\n",
    "    file_date = file.relative_to(home_dir).parts[0]\n",
    "    data: pd.DataFrame = pd.read_excel(file, header=None)\n",
    "    data_info: list[dict] = read_excel_data(data)\n",
    "    data_info_all.extend(data_info)  # 将每个文件的数据添加到总列表中\n",
    "\n",
    "print(data_info_all)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:24:00.500799Z",
     "start_time": "2025-06-27T09:23:58.731758Z"
    }
   },
   "id": "2a725b22499e4e67",
   "execution_count": 12
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3 2\n",
      "3 3\n",
      "3 4\n",
      "3 5\n",
      "3 6\n",
      "3 7\n",
      "3 8\n",
      "3 9\n",
      "4 2\n",
      "4 3\n",
      "4 4\n",
      "4 5\n",
      "4 6\n",
      "4 7\n",
      "4 8\n",
      "4 9\n",
      "5 2\n",
      "5 3\n",
      "1\n",
      "5 4\n",
      "1\n",
      "5 5\n",
      "1\n",
      "5 6\n",
      "5 7\n",
      "1\n",
      "5 8\n",
      "5 9\n",
      "1\n",
      "6 2\n",
      "6 3\n",
      "2\n",
      "6 4\n",
      "2\n",
      "6 5\n",
      "6 6\n",
      "6 7\n",
      "6 8\n",
      "6 9\n",
      "2\n",
      "7 2\n",
      "7 3\n",
      "7 4\n",
      "7 5\n",
      "7 6\n",
      "7 7\n",
      "7 8\n",
      "7 9\n",
      "8 2\n",
      "8 3\n",
      "8 4\n",
      "8 5\n",
      "8 6\n",
      "8 7\n",
      "8 8\n",
      "8 9\n",
      "9 2\n",
      "9 3\n",
      "9 4\n",
      "9 5\n",
      "9 6\n",
      "9 7\n",
      "9 8\n",
      "9 9\n",
      "10 2\n",
      "10 3\n",
      "10 4\n",
      "10 5\n",
      "10 6\n",
      "10 7\n",
      "10 8\n",
      "10 9\n",
      "11 2\n",
      "11 3\n",
      "7\n",
      "11 4\n",
      "7\n",
      "11 5\n",
      "11 6\n",
      "11 7\n",
      "11 8\n",
      "11 9\n",
      "7\n",
      "12 2\n",
      "12 3\n",
      "12 4\n",
      "12 5\n",
      "12 6\n",
      "12 7\n",
      "12 8\n",
      "12 9\n",
      "13 2\n",
      "13 3\n",
      "9\n",
      "13 4\n",
      "9\n",
      "13 5\n",
      "13 6\n",
      "13 7\n",
      "13 8\n",
      "13 9\n",
      "9\n",
      "14 2\n",
      "14 3\n",
      "10\n",
      "14 4\n",
      "10\n",
      "14 5\n",
      "10\n",
      "14 6\n",
      "14 7\n",
      "10\n",
      "14 8\n",
      "14 9\n",
      "10\n",
      "15 2\n",
      "15 3\n",
      "15 4\n",
      "15 5\n",
      "15 6\n",
      "15 7\n",
      "15 8\n",
      "15 9\n",
      "16 2\n",
      "16 3\n",
      "11\n",
      "16 4\n",
      "16 5\n",
      "16 6\n",
      "16 7\n",
      "16 8\n",
      "16 9\n",
      "17 2\n",
      "17 3\n",
      "17 4\n",
      "17 5\n",
      "17 6\n",
      "17 7\n",
      "17 8\n",
      "17 9\n",
      "18 2\n",
      "18 3\n",
      "18 4\n",
      "18 5\n",
      "18 6\n",
      "18 7\n",
      "18 8\n",
      "18 9\n",
      "19 2\n",
      "19 3\n",
      "19 4\n",
      "19 5\n",
      "19 6\n",
      "19 7\n",
      "19 8\n",
      "19 9\n",
      "20 2\n",
      "20 3\n",
      "20 4\n",
      "20 5\n",
      "20 6\n",
      "20 7\n",
      "20 8\n",
      "20 9\n",
      "21 2\n",
      "21 3\n",
      "21 4\n",
      "21 5\n",
      "21 6\n",
      "nan\n"
     ]
    },
    {
     "ename": "TypeError",
     "evalue": "can only concatenate str (not \"NoneType\") to str",
     "output_type": "error",
     "traceback": [
      "\u001B[31m---------------------------------------------------------------------------\u001B[39m",
      "\u001B[31mTypeError\u001B[39m                                 Traceback (most recent call last)",
      "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[13]\u001B[39m\u001B[32m, line 7\u001B[39m\n\u001B[32m      5\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m j \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28mrange\u001B[39m(first_col, data.shape[\u001B[32m1\u001B[39m]):  \u001B[38;5;66;03m# 遍历所有列\u001B[39;00m\n\u001B[32m      6\u001B[39m     \u001B[38;5;28mprint\u001B[39m(i, j)\n\u001B[32m----> \u001B[39m\u001B[32m7\u001B[39m     cell_info = \u001B[43mread_cell_info\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mi\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mj\u001B[49m\u001B[43m)\u001B[49m  \u001B[38;5;66;03m# 读取单元格信息\u001B[39;00m\n\u001B[32m      8\u001B[39m     \u001B[38;5;28;01mif\u001B[39;00m cell_info:  \u001B[38;5;66;03m# 如果单元格信息不为空，则将其添加到列表中\u001B[39;00m\n\u001B[32m      9\u001B[39m         list_info.append(cell_info)  \u001B[38;5;66;03m# 添加到列表中\u001B[39;00m\n",
      "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[10]\u001B[39m\u001B[32m, line 62\u001B[39m, in \u001B[36mread_cell_info\u001B[39m\u001B[34m(data, row, col, header_row, header_col)\u001B[39m\n\u001B[32m     59\u001B[39m name2: \u001B[38;5;28mstr\u001B[39m = merge_names(data.iloc[header_row, col], data.iloc[header_row + \u001B[32m1\u001B[39m, col])\n\u001B[32m     61\u001B[39m \u001B[38;5;66;03m# 将以上信息进行组合，形成监管序号和指标名称\u001B[39;00m\n\u001B[32m---> \u001B[39m\u001B[32m62\u001B[39m cell_num = \u001B[33;43m'\u001B[39;49m\u001B[33;43m[\u001B[39;49m\u001B[33;43m'\u001B[39;49m\u001B[43m \u001B[49m\u001B[43m+\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m.\u001B[49m\u001B[43miloc\u001B[49m\u001B[43m[\u001B[49m\u001B[43mheader_row\u001B[49m\u001B[43m \u001B[49m\u001B[43m-\u001B[49m\u001B[43m \u001B[49m\u001B[32;43m1\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mcol\u001B[49m\u001B[43m]\u001B[49m\u001B[43m \u001B[49m\u001B[43m+\u001B[49m\u001B[43m \u001B[49m\u001B[43mname_num\u001B[49m + \u001B[33m'\u001B[39m\u001B[33m]\u001B[39m\u001B[33m'\u001B[39m  \u001B[38;5;66;03m# 合并单元格内容和监管序号\u001B[39;00m\n\u001B[32m     63\u001B[39m cell_name = name_text + \u001B[33m'\u001B[39m\u001B[33m_\u001B[39m\u001B[33m'\u001B[39m + name2\n\u001B[32m     64\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m {\u001B[33m'\u001B[39m\u001B[33mcell_name\u001B[39m\u001B[33m'\u001B[39m: cell_name,\n\u001B[32m     65\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_address\u001B[39m\u001B[33m'\u001B[39m: cell_address,\n\u001B[32m     66\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_value\u001B[39m\u001B[33m'\u001B[39m: cell_value,\n\u001B[32m     67\u001B[39m         \u001B[33m'\u001B[39m\u001B[33mcell_num\u001B[39m\u001B[33m'\u001B[39m: cell_num}\n",
      "\u001B[31mTypeError\u001B[39m: can only concatenate str (not \"NoneType\") to str"
     ]
    }
   ],
   "source": [
    "fist_row = 3\n",
    "first_col = 2\n",
    "list_info: list[dict] = []  # 用于存储所有单元格信息的列表\n",
    "for i in range(fist_row, data.shape[0]):  # 遍历所有行\n",
    "    for j in range(first_col, data.shape[1]):  # 遍历所有列\n",
    "        print(i, j)\n",
    "        cell_info = read_cell_info(data, i, j)  # 读取单元格信息\n",
    "        if cell_info:  # 如果单元格信息不为空，则将其添加到列表中\n",
    "            list_info.append(cell_info)  # 添加到列表中"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2025-06-27T09:24:27.657407Z",
     "start_time": "2025-06-27T09:24:27.580666Z"
    }
   },
   "id": "30fe84df793fc7d",
   "execution_count": 13
  },
  {
   "cell_type": "markdown",
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "268820027d1c4bd4"
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [
    "for file in list_g03_file:\n",
    "    file_date = file.relative_to(home_dir).parts[0]\n",
    "    print(file_date)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "start_time": "2025-06-27T09:24:00.503803Z"
    }
   },
   "id": "d50c416631fcab80",
   "execution_count": null
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [
    "# 使用Pathlib库，从file路径中剔除home_dir路径，保留相对路径\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "start_time": "2025-06-27T09:24:00.506804Z"
    }
   },
   "id": "edae9d9b1522f3e6",
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 本教程设计到的Python功能与说明\n",
    "本教程中为实现目标，运用到以下功能：\n",
    "- Python的基本语法\n",
    "- Python的基本库：`pathlib`、`os`\n",
    "- Python的第三方库：`pandas`\n",
    "\n",
    "\n",
    "### `enumerate()`函数\n",
    "enumerate()函数是Python内置函数之一，可以同时获取列表的索引和值，常用于遍历列表时需要获取索引的场景。\n",
    "以下是使用该函数遍历列表的例子：\n",
    "\n",
    "```python\n",
    "my_list = ['apple', 'banana', 'orange']\n",
    "for index, value in enumerate(my_list):\n",
    "    print(f'循环{index}, 取值为{value}')\n",
    "```\n",
    "输出：\n",
    "```\n",
    "循环0, 取值为apple\n",
    "循环1, 取值为banana\n",
    "循环2, 取值为orange\n",
    "```\n",
    "\n",
    "如果不是用enumerate()函数，也可以用下标遍历列表，将增加代码的复杂度：\n",
    "```python\n",
    "my_list = ['apple', 'banana', 'orange']\n",
    "for i in range(len(my_list)):\n",
    "    print(f'循环{i}, 取值为{my_list[i]}')\n",
    "```\n",
    "输出：\n",
    "```\n",
    "循环0, 取值为apple\n",
    "循环1, 取值为banana\n",
    "循环2, 取值为orange\n",
    "```\n",
    "\n",
    "### `pandas`包\n",
    "\n",
    "`pandas`包是Python中处理数据分析的常用库，提供了高效、易用的数据结构，包括Series、DataFrame等。本教程仅使用`pandas`包的部分功能，主要用于读取Excel文件和处理DataFrame数据。\n",
    "\n",
    "#### `pandas.read_excel()`函数\n",
    "\n",
    "`pandas.read_excel()`函数可以读取Excel文件，并返回一个DataFrame对象。\n",
    "\n",
    "```python    \n",
    "import pandas as pd\n",
    "\n",
    "# 读取Excel文件\n",
    "df = pd.read_excel('example.xlsx')\n",
    "```\n",
    "\n",
    "#### `pandas.DataFrame.iloc[row, col]`函数\n",
    "\n",
    "`pandas.DataFrame.iloc[row, col]`函数可以获取DataFrame中指定行和列的数据，其中row和col参数是从0开始的。"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "b20ab908d0181e49"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
